分享人:程凯
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
nginx 这个轻量级、高性能的 web server 主要可以干两件事情:直接作为http server;另外一个功能就是作为反向代理服务器实现负载均
nginx的负载均衡的几种策略:
1.轮询(默认);每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2.weight;指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 3.ip_hash;每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 4.fair(第三方);按后端服务器的响应时间来分配请求,响应时间短的优先分配。 5.url_hash(第三方)按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
1.为什么要用nginx负载均衡?
2.nginx的优缺点?
1.为什么要用nginx负载均衡?
简单来说就是为了在服务器端宕机后,不会导致整个服务不能使用,负载均衡需要在两台以上的服务器上才能实现。
2.nginx的优缺点?
优点:(1)Nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能
(2)Nginx安装和配置比较简单,测试起来比较方便,它基本能把错误用日志打印出来
(3)可以承担高负载压力且稳定,在硬件不差的情况下一般能支撑几万次的并发量
(4)Nginx也可作为静态网页和图片服务器,这方面的性能也无对手。
缺点:(1)Nginx仅能支持http、https和Email协议,这样就在适用范围上面小些
(2)对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测
Session问题: 当我们确定一系列负载的服务器后,那我们的WEB站点会分布到这些服务器上。 这个时候如果采用Test2 每一次请求随机访问任何一台服务器上,这样导致你访问A服务器后, 下一次请求又突然转到B服务器上。这个时候与A服务器建立的Session,传到B站点服务器肯定是无法正常响应的。
百度
感谢观看,如有出错,恳请指正
BY : 程凯